#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS 1
#endif

#include<iostream>
#include<vector>
using namespace std;

void ac1(){
	int T,M;
	cin>>T>>M;
	vector<int>dp(1001,0);
	vector<int>t(101,0),v(101,0);
	for(int i=1;i<=M;i++)
		cin>>t[i]>>v[i];
	for(int i=1;i<=M;i++)
		for(int j=T;j>=t[i];j--)
			dp[j]=max(dp[j],dp[j-t[i]]+v[i]);
	cout<<dp[T];
}

int main() {
	ac1();
	return 0;
}
